Software processes, such as virtual machines, are hosted in physical computers to run various applications. In order to ensure that these applications are available after one or more host computer failures, persistence storage objects for the software processes running on host computers may be replicated so that, if a host computer fails, the affected software processes may be restarted on a different host computer to resume running their applications. For virtual machines, the persistence storage objects may include items stored in a storage array, such as virtual disks and configuration files, which are necessary to run the virtual machines on host computers.
The storage objects of a single virtual machine should be grouped together for replication so that the virtual machine can be properly restarted during a failover process. In some situations, the storage objects of multiple virtual machines should be grouped together to ensure that all the virtual machines can be properly restarted during a failover process. The grouped storage objects should maintain write order fidelity during replication to ensure that virtual machine or machines can be properly failed over when needed. This group of storage objects is referred to herein as a storage replication consistency group. A storage replication consistency group is the smallest unit of failover, which means that all the storage objects in the storage replication consistency group fail over as a unit. Usually, one unique storage replication consistency group is assigned to each virtual machine. However, a storage replication consistency group may be assigned to multiple virtual machines, especially if these virtual machines are running dependent applications. Thus, the scale of storage replication consistency groups should ideally match the scale of virtual machines being replicated.
Unfortunately, not all storage arrays support this scale of storage replication consistency groups. Even if a storage array does support the scale of storage replication consistency groups, a user or an administrator must manually pick which storage replication consistency group to place each virtual machine, which is tedious.
Throughout the description, similar reference numbers may be used to identify similar elements.